package org.opens.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.opens.entity.FndAppendixEntity;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

/**
 * @author zhangyuming
 * @data 2023年02月02日
 */
@Mapper
public interface FndAppendixDao {

    /**
     * 根据主键查找数据
     * @param id 主键
     */
    FndAppendixEntity selectById(@Param(value = "id") Serializable id);

    /**
     * 根据主键集合批量查找数据
     * @param idList 主键集合
     */
    List<FndAppendixEntity> selectBatchIds(@Param(value = "idList") Collection<? extends Serializable> idList);

    /**
     * 根据主键更新非空字段
     * @param fndAppendixEntity 待更新的数据
     */
    int dynamicUpdateById(@Param(value = "fndAppendixEntity") FndAppendixEntity fndAppendixEntity);

    /**
     * 插入
     * @param fndAppendixEntity 待插入的数据
     */
    int insert(@Param(value = "fndAppendixEntity") FndAppendixEntity fndAppendixEntity);

    /**
     * 批量插入
     * @param fndAppendixEntitys 待插入的所有数据
     */
    int batchInsert(@Param(value = "fndAppendixEntitys") List<FndAppendixEntity> fndAppendixEntitys);

    /**
     * 根据主键删除
     * @param id 主键
     */
    int deleteById(@Param(value = "id") Serializable id);

    /**
     * 动态条件查找
     * @param fndAppendixEntity 动态条件
     */
    List<FndAppendixEntity> selectByDynamicCondition(@Param(value = "fndAppendixEntity") FndAppendixEntity fndAppendixEntity);

}